/**
 * 用户 Token 相关工具方法
 */
export const TokenUtils = {
  TOKEN_KEY: "user_token",

  /**
   * 设置 Token
   * @param {string} token
   */
  setToken(token) {
    uni.setStorageSync(this.TOKEN_KEY, token);
  },

  /**
   * 获取 Token
   * @returns {string}
   */
  getToken() {
    return uni.getStorageSync(this.TOKEN_KEY);
  },

  /**
   * 删除 Token
   */
  removeToken() {
    uni.removeStorageSync(this.TOKEN_KEY);
  },
};

/**
 * 专家 Token 相关工具方法
 */
export const ProfessorTokenUtils = {
  TOKEN_KEY: "professor_token",

  /**
   * 设置 Token
   * @param {string} token
   */
  setToken(token) {
    uni.setStorageSync(this.TOKEN_KEY, token);
  },

  /**
   * 获取 Token
   * @returns {string}
   */
  getToken() {
    return uni.getStorageSync(this.TOKEN_KEY);
  },
  
  /**
   * 删除 Token
   */
  removeToken() {
    uni.removeStorageSync(this.TOKEN_KEY);
  },
};


/**
 * UserInfo 相关工具方法
 */
export const UserInfoUtils = {
  USER_INFO_KEY: "user_info",

  /**
   * 设置 UserInfo
   * @param {Object} userInfo
   */
  setUserInfo(userInfo) {
    uni.setStorageSync(this.USER_INFO_KEY, userInfo);
  },

  /**
   * 获取 UserInfo
   * @returns {Object}
   */
  getUserInfo() {
    return uni.getStorageSync(this.USER_INFO_KEY);
  },

  /**
   * 删除 UserInfo
   */
  removeUserInfo() {
    uni.removeStorageSync(this.USER_INFO_KEY);
  },
};

/**
 * ProfessorInfo 相关工具方法
 */
export const ProfessorInfoUtils = {
  PROFESSOR_INFO_KEY: "professor_info",

  /**
   * 设置 ProfessorInfo
   * @param {Object} professorInfo
   */
  setProfessorInfo(professorInfo) {
    uni.setStorageSync(this.PROFESSOR_INFO_KEY, professorInfo);
  },

  /**
   * 获取 ProfessorInfo
   * @returns {Object}
   */
  getProfessorInfo() {
    return uni.getStorageSync(this.PROFESSOR_INFO_KEY);
  },

  /**
   * 删除 ProfessorInfo
   */
  removeProfessorInfo() {
    uni.removeStorageSync(this.PROFESSOR_INFO_KEY);
  },
};

/**

 * 显示消息
 * @param {string} message 消息内容
 * @param {boolean} isSuccess 是否成功
 */
export const showMessage = (message, isSuccess = true) => {
  uni.showToast({
    title: message,
    icon: isSuccess ? "success" : "error",
    duration: 1500,
    mask: true,
  });
};

/**
 * 显示 Loading
 * @param {string} message 消息内容
 */
export const showLoading = (message) => {
  uni.showLoading({
    title: message,
    mask: true,
  });
};

/**
 * 隐藏 Loading
 */
export const hideLoading = () => {
  uni.hideLoading();
};

/**
 * 预约状态展示文字
 * @param {number} status 预约状态

 * @returns {string}
 */
export const getStatusText = (status) => {
  switch (status) {
    case 2:
      return "不通过";
    case 1:
      return "通过";
    default:
      return "审核中";
  }
};

/**
 * 预约状态展示颜色
 * @param {number} status 预约状态
 * @returns {string}
 */
export const getStatusColor = (status) => {
  switch (status) {
    case 2:
      return "red";
    case 1:
      return "blue";
    default:
      return "orange";
  }
};